<?php

require_once(BaseConfig::LoadClass('objeto_base.class.php'    ));
require_once(BaseConfig::LoadClass('filtro.class.php'         ));
require_once(BaseConfig::LoadClass('abc.class.php'            ));
require_once(BaseConfig::LoadClass('carga_excel.class.php'    ));

class Ventas extends ObjetoBase {
  function Ventas($intIdVenta = 0) {
    $arrMapaDatos = Array();
    
    $arrMapaDatos['id_venta'    ] = Array('NombreVariable' => 'intIdVenta'    , 'TipoVariable' => 'I');
    $arrMapaDatos['documento'   ] = Array('NombreVariable' => 'strDocumento'  , 'TipoVariable' => 'S');
    $arrMapaDatos['apply_to'    ] = Array('NombreVariable' => 'strApplyTo'    , 'TipoVariable' => 'S');
    $arrMapaDatos['cliente'     ] = Array('NombreVariable' => 'strCliente'    , 'TipoVariable' => 'S');
    $arrMapaDatos['nombre'      ] = Array('NombreVariable' => 'strNombre'     , 'TipoVariable' => 'S');
    $arrMapaDatos['ship_to'     ] = Array('NombreVariable' => 'strShipTo'     , 'TipoVariable' => 'S');
    $arrMapaDatos['ship_to_name'] = Array('NombreVariable' => 'strShipToName' , 'TipoVariable' => 'S');
    $arrMapaDatos['bodega'      ] = Array('NombreVariable' => 'strBodega'     , 'TipoVariable' => 'S');
    $arrMapaDatos['apply_to_2'  ] = Array('NombreVariable' => 'strApplyTo2'   , 'TipoVariable' => 'S');
    $arrMapaDatos['factura'     ] = Array('NombreVariable' => 'strFactura'    , 'TipoVariable' => 'S');
    $arrMapaDatos['fecha'       ] = Array('NombreVariable' => 'strFecha'      , 'TipoVariable' => 'S');
    $arrMapaDatos['codigo'      ] = Array('NombreVariable' => 'strCodigo'     , 'TipoVariable' => 'S');
    $arrMapaDatos['descripcion' ] = Array('NombreVariable' => 'strDescripcion', 'TipoVariable' => 'S');
    $arrMapaDatos['solicitado'  ] = Array('NombreVariable' => 'intSolicitado' , 'TipoVariable' => 'N');
    $arrMapaDatos['surtido'     ] = Array('NombreVariable' => 'intSurtido'    , 'TipoVariable' => 'N');
    $arrMapaDatos['regreso'     ] = Array('NombreVariable' => 'intRegreso'    , 'TipoVariable' => 'N');
    $arrMapaDatos['weight'      ] = Array('NombreVariable' => 'fltWeight'     , 'TipoVariable' => 'N');
    $arrMapaDatos['p_u'         ] = Array('NombreVariable' => 'fltPU'         , 'TipoVariable' => 'N');
    $arrMapaDatos['moneda'      ] = Array('NombreVariable' => 'strMoneda'     , 'TipoVariable' => 'S');
    $arrMapaDatos['unit_cost'   ] = Array('NombreVariable' => 'fltUnitCost'   , 'TipoVariable' => 'N');
    $arrMapaDatos['p_o'         ] = Array('NombreVariable' => 'strPO'         , 'TipoVariable' => 'S');
    $arrMapaDatos['uom'         ] = Array('NombreVariable' => 'strUOM'        , 'TipoVariable' => 'S');
    $arrMapaDatos['vendedor'    ] = Array('NombreVariable' => 'strVendedor'   , 'TipoVariable' => 'S');
    $arrMapaDatos['comment_1'   ] = Array('NombreVariable' => 'strComment1'   , 'TipoVariable' => 'S');
    $arrMapaDatos['comment_2'   ] = Array('NombreVariable' => 'strComment2'   , 'TipoVariable' => 'S');
    $arrMapaDatos['comment_3'   ] = Array('NombreVariable' => 'strComment3'   , 'TipoVariable' => 'S');
    $arrMapaDatos['load_dat'    ] = Array('NombreVariable' => 'strload_dat'   , 'TipoVariable' => 'S');
    
    $this->__ArmarDatosPrivados('ventas', $arrMapaDatos, 'id_venta');
    $this->SeleccionarPorIndice($intIdVenta);
  }
}

class FiltroVentas extends Filtro {
  function FiltroVentas() {
    $arrProceso['documento'   ] = "Documento"   ;
    $arrProceso['apply_to'    ] = "Apply to"    ;
    $arrProceso['cliente'     ] = "Cliente"     ;
    $arrProceso['nombre'      ] = "Nombre"      ;
    $arrProceso['ship_to'     ] = "Ship to"     ;
    $arrProceso['ship_to_name'] = "Ship to name";
    $arrProceso['bodega'      ] = "Bodega"      ;
    $arrProceso['apply_to_2'  ] = "Apply to 2"  ;
    $arrProceso['factura'     ] = "Factura"     ;
    $arrProceso['fecha'       ] = "Fecha"       ;
    $arrProceso['codigo'      ] = "Código"      ;
    $arrProceso['descripcion' ] = "Descripción" ;
    $arrProceso['solicitado'  ] = "Solicitado"  ;
    $arrProceso['surtido'     ] = "Surtido"     ;
    $arrProceso['regreso'     ] = "Return"      ;
    $arrProceso['weight'      ] = "Weigth"      ;
    $arrProceso['p_u'         ] = "P.U."        ;
    $arrProceso['moneda'      ] = "Moneda"      ;
    $arrProceso['unit_cost'   ] = "Unit Cost"   ;
    $arrProceso['p_o'         ] = "P.O."        ;
    $arrProceso['uom'         ] = "UOM"         ;
    $arrProceso['vendedor'    ] = "Vendedor"    ;
    $arrProceso['comment_1'   ] = "Comments 1"  ;
    $arrProceso['comment_2'   ] = "Comments 2"  ;
    $arrProceso['comment_3'   ] = "Comments 3"  ;
    $arrProceso['load_dat'    ] = "Load Dat"    ;
    
    parent::CrearFiltro("ventas", "id_venta", $arrProceso, "Busqueda", "", "id_venta ASC", "Ventas");
  }
}

class Carga_Ventas extends CargaExcel {
  function Carga_Ventas() {
    parent::CargaExcel();
    $arrProceso['documento'   ] = "Documento"   ;
    $arrProceso['apply_to'    ] = "Apply to"    ;
    $arrProceso['cliente'     ] = "Cliente"     ;
    $arrProceso['nombre'      ] = "Nombre"      ;
    $arrProceso['ship_to'     ] = "Ship to"     ;
    $arrProceso['ship_to_name'] = "Ship to name";
    $arrProceso['bodega'      ] = "Bodega"      ;
    $arrProceso['apply_to_2'  ] = "Apply to 2"  ;
    $arrProceso['factura'     ] = "Factura"     ;
    $arrProceso['fecha'       ] = "Fecha"       ;
    $arrProceso['codigo'      ] = "Código"      ;
    $arrProceso['descripcion' ] = "Descripción" ;
    $arrProceso['solicitado'  ] = "Solicitado"  ;
    $arrProceso['surtido'     ] = "Surtido"     ;
    $arrProceso['regreso'     ] = "Return"      ;
    $arrProceso['weight'      ] = "Weigth"      ;
    $arrProceso['p_u'         ] = "P.U."        ;
    $arrProceso['moneda'      ] = "Moneda"      ;
    $arrProceso['unit_cost'   ] = "Unit Cost"   ;
    $arrProceso['p_o'         ] = "P.O."        ;
    $arrProceso['uom'         ] = "UOM"         ;
    $arrProceso['vendedor'    ] = "Vendedor"    ;
    $arrProceso['comment_1'   ] = "Comments 1"  ;
    $arrProceso['comment_2'   ] = "Comments 2"  ;
    $arrProceso['comment_3'   ] = "Comments 3"  ;
    $arrProceso['load_dat'    ] = "Load Dat"    ;
    
//    $arrConstantes["fecha"] = date("Y-m-d H:i:s");
    
    $arrReferencias = array();
    
    $this->Init("Ventas", "ventas", $arrProceso, $arrReferencias, $arrConstantes);
    
    $this->intPrimeraLinea       = 0;
    $this->intCargarSoloCompleto = 0;
    $this->bolLimpiarTablaAntes  = true;
    
    $this->__arrInfoSaltarLinea[] = "Documento";
  }
}


class ABC_Ventas extends ABC_Base {
  function ABC_Ventas() {
    $strClaseBase     = "Ventas"      ;
    $strClaseFiltro   = "FiltroVentas";
    $strClaseCarga    = "Carga_Ventas";
    $strCampoMostrar  = "documento"   ;
    $strOpcionListado = "abc_ventas"  ;
    $strOpcionGuardar = "abc_ventas"  ;

    $arrNombresColumnas = array();
    $arrNombresColumnas['documento'   ] = "Documento"   ;
    $arrNombresColumnas['apply_to'    ] = "Apply to"    ;
    $arrNombresColumnas['cliente'     ] = "Cliente"     ;
    $arrNombresColumnas['nombre'      ] = "Nombre"      ;
    $arrNombresColumnas['ship_to'     ] = "Ship to"     ;
    $arrNombresColumnas['ship_to_name'] = "Ship to name";
    $arrNombresColumnas['bodega'      ] = "Bodega"      ;
    $arrNombresColumnas['apply_to_2'  ] = "Apply to 2"  ;
    $arrNombresColumnas['factura'     ] = "Factura"     ;
    $arrNombresColumnas['fecha'       ] = "Fecha"       ;
    $arrNombresColumnas['codigo'      ] = "Código"      ;
    $arrNombresColumnas['descripcion' ] = "Descripción" ;
    $arrNombresColumnas['solicitado'  ] = "Solicitado"  ;
    $arrNombresColumnas['surtido'     ] = "Surtido"     ;
    $arrNombresColumnas['regreso'     ] = "Return"      ;
    $arrNombresColumnas['weight'      ] = "Weigth"      ;
    $arrNombresColumnas['p_u'         ] = "P.U."        ;
    $arrNombresColumnas['moneda'      ] = "Moneda"      ;
    $arrNombresColumnas['unit_cost'   ] = "Unit Cost"   ;
    $arrNombresColumnas['p_o'         ] = "P.O."        ;
    $arrNombresColumnas['uom'         ] = "UOM"         ;
    $arrNombresColumnas['vendedor'    ] = "Vendedor"    ;
    $arrNombresColumnas['comment_1'   ] = "Comments 1"  ;
    $arrNombresColumnas['comment_2'   ] = "Comments 2"  ;
    $arrNombresColumnas['comment_3'   ] = "Comments 3"  ;
    $arrNombresColumnas['load_dat'    ] = "Load Dat"    ;

    $arrReferencias = array();
    
    $this->Inicializar($strClaseBase, $arrNombresColumnas, $strOpcionListado, $strOpcionGuardar, $strCampoMostrar, $strClaseFiltro, $arrReferencias, "", $strClaseCarga);
    
    $this->bolABCLista             = true;
    $this->bolABCListaOcultarTD    = true;
    $this->bolPosibleNuevoElemento = false;
    $this->intTipoGuardado         = 1;
    $this->intNumeroRes            = 50;
    $this->bolSoloLectura          = true;
  }
}

?>